
<html><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta content="text/javascript" http-equiv="content-script-type">
<title>system.collections.Deque</title>
<link rel="stylesheet" type="text/css" href="candydoc/style.css">
<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="candydoc/ie56hack.css"><![endif]-->
<script language="JavaScript" src="candydoc/util.js" type="text/javascript"></script>
<script language="JavaScript" src="candydoc/tree.js" type="text/javascript"></script>
<script language="JavaScript" src="candydoc/explorer.js" type="text/javascript"></script>
</head><body>
<div id="tabarea"></div><div id="explorerclient"></div>
<div id="content"><script>explorer.initialize("system.collections.Deque");</script>
	<table class="content">
		<tr><td id="docbody"><h1>system.collections.Deque</h1><!-- Generated by Ddoc from F:\MyWork\phoenix\source\system\collections\Deque.d -->
该模块使用数组实现了 IDeque(T) 接口。
<br><br>
<b>License:</b><br>
BSD
<br><br>
<b>Authors:</b><br>
Lucifer (786325481@QQ.com)
<br><br>


<script>explorer.outline.incSymbolLevel();</script>
<dl>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class 
<span class="currsymbol">Deque</span>
<script>explorer.outline.addDecl('Deque');</script>

(T): IEnumerable!(T), ICollection!(T), IQueue!(T), IDeque!(T);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>使用数组实现 IDeque(T) 接口的可扩容的双端队列。
<br><br>
<b>Comments:</b><br>
数组双端队列没有容量限制；它们可根据需要增加容量以支持使用。
		该集合不是线程安全的；在没有外部同步时，它们不支持多个线程的并发访问。
		禁止插入 <b>null</b> 元素。
		该集合既可用作(LIFO)堆栈，也可用作(FIFO)队列。
		该集合大多数操作以摊销的固定时间运行。

<br><br>
<b>Note:</b><br>
该集合的迭代器是快速失败的，但快速失败的行为并不能得到保证。
		      迭代器的快速失败行为应该仅用于检测 bug。
<br><br>

		该集合可以正向或逆向顺序遍历，两种迭代均受支持。
 
<br><br>


<script>explorer.outline.incSymbolLevel();</script>
<dl>
<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">this();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>构造一个初始容量能够容纳 16 个元素的空数组双端队列。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">this(int initialCapacity);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>构造一个初始容量能够容纳指定数量的元素的空数组双端队列。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">initialCapacity</td>

               
<td>双端队列初始容量的下边界。</td></tr>
</table><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">this(IEnumerable!(T) collection);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>构造一个包含指定 collection 的元素的双端队列，
 这些元素按 collection 的迭代器返回的顺序排列。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">collection</td>

               
<td>要将其元素放入双端队列的 collection 。</td></tr>
</table><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void 
<span class="currsymbol">addFirst</span>
<script>explorer.outline.addDecl('addFirst');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>将指定元素插入此双端队列的开头。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要添加的元素。</td></tr>
</table><br>
<b>Comments:</b><br>
对于引用类型来说，不能添加 <b>null</b> 。
		关于引用类型，详情请参考 system.Traits.IsReferenceType(T) 模板方法。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void 
<span class="currsymbol">addLast</span>
<script>explorer.outline.addDecl('addLast');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>将指定元素插入此双端队列的末尾。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要添加的元素。</td></tr>
</table><br>
<b>Comments:</b><br>
对于引用类型来说，不能添加 <b>null</b> 。
		关于引用类型，详情请参考 system.Traits.IsReferenceType(T) 模板方法。
<br><br>

 		此方法等效于 add(T <span class="funcparam">item</span>) 。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryAddFirst</span>
<script>explorer.outline.addDecl('tryAddFirst');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>将指定元素插入此双端队列的开头。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要添加的元素。</td></tr>
</table><br>
<b>Returns:</b><br>
<b>true</b>，此操作不会失败。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryAddLast</span>
<script>explorer.outline.addDecl('tryAddLast');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>将指定元素插入此双端队列的末尾。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要添加的元素。</td></tr>
</table><br>
<b>Returns:</b><br>
<b>true</b>，此操作不会失败。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">remove</span>
<script>explorer.outline.addDecl('remove');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取并移除此双端队列所表示的队列的头。
<br><br>
<b>Returns:</b><br>
此双端队列所表示的队列的头。
<br><br>
<b>Throws:</b><br>
InvalidOperationException，当双端队列为空时。
<br><br>
<b>Comments:</b><br>
此方法与 tryRemove 的不同之处在于：如果此双端队列为空，它将抛出一个异常。
 		此方法等效于 removeFirst 。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryRemove</span>
<script>explorer.outline.addDecl('tryRemove');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取并移除此双端队列所表示的队列的头。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>此双端队列所表示的队列的头；如果此双端队列为空，则返回 T.init。</td></tr>
</table><br>
<b>Returns:</b><br>
如果双端队列为空，返回 <b>false</b>；否则，返回 <b>true</b> 。
<br><br>
<b>Comments:</b><br>
此方法等效于 tryRemoveFirst()。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">removeFirst</span>
<script>explorer.outline.addDecl('removeFirst');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取并移除此双端队列第一个元素。
<br><br>
<b>Returns:</b><br>
此双端队列的头部。
<br><br>
<b>Throws:</b><br>
InvalidOperationException，当双端队列为空时。
<br><br>
<b>Comments:</b><br>
此方法与 tryRemoveFirst 唯一的不同在于：如果此双端队列为空，它将抛出一个异常。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">removeLast</span>
<script>explorer.outline.addDecl('removeLast');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取并移除此双端队列的最后一个元素。
<br><br>
<b>Throws:</b><br>
InvalidOperationException，当双端队列为空时。
<br><br>
<b>Returns:</b><br>
此双端队列的尾部。
<br><br>
<b>Comments:</b><br>
此方法与 tryRemoveLast 唯一的不同在于：如果此双端队列为空，它将抛出一个异常。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryRemoveFirst</span>
<script>explorer.outline.addDecl('tryRemoveFirst');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取并移除此双端队列的第一个元素；如果此双端队列为空，则返回 T.init 。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>此双端队列的头部；如果此双端队列为空，则返回 T.init 。</td></tr>
</table><br>
<b>Returns:</b><br>
如果双端队列为空，返回 <b>false</b>；否则，返回 <b>true</b> 。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryRemoveLast</span>
<script>explorer.outline.addDecl('tryRemoveLast');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取并移除此双端队列的最后一个元素；如果此双端队列为空，则返回 T.init 。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>此双端队列的尾部；如果此双端队列为空，则返回 T.init 。</td></tr>
</table><br>
<b>Returns:</b><br>
如果双端队列为空，返回 <b>false</b>；否则，返回 <b>true</b> 。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">peekFirst</span>
<script>explorer.outline.addDecl('peekFirst');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取，但不移除此双端队列的第一个元素。
<br><br>
<b>Returns:</b><br>
此双端队列的头部。
<br><br>
<b>Throws:</b><br>
InvalidOperationException，当双端队列为空时。
<br><br>
<b>Comments:</b><br>
此方法与 tryPeekFirst 唯一的不同在于：如果此双端队列为空，它将抛出一个异常。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">peekLast</span>
<script>explorer.outline.addDecl('peekLast');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取，但不移除此双端队列的最后一个元素。
<br><br>
<b>Returns:</b><br>
此双端队列的尾部。
<br><br>
<b>Throws:</b><br>
InvalidOperationException，当双端队列为空时。
<br><br>
<b>Comments:</b><br>
此方法与 tryPeekLast 唯一的不同在于：如果此双端队列为空，它将抛出一个异常。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryPeekFirst</span>
<script>explorer.outline.addDecl('tryPeekFirst');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取，但不移除此双端队列的第一个元素。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>此双端队列的头部；如果此双端队列为空，则返回 T.init。</td></tr>
</table><br>
<b>Returns:</b><br>
如果此双端队列为空，则返回 <b>false</b>；否则，返回 <b>true</b>。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryPeekLast</span>
<script>explorer.outline.addDecl('tryPeekLast');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>获取，但不移除此双端队列的最后一个元素。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>此双端队列的尾部；如果此双端队列为空，则返回 T.init。</td></tr>
</table><br>
<b>Returns:</b><br>
如果此双端队列为空，则返回 <b>false</b>；否则，返回 <b>true</b>。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">removeFirstOccurrence</span>
<script>explorer.outline.addDecl('removeFirstOccurrence');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>移除此双端队列中第一次出现的指定元素（当从头部到尾部遍历双端队列时）。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要从此双端队列中移除的元素（如果存在）。</td></tr>
</table><br>
<b>Returns:</b><br>
如果双端队列包含指定元素，则返回 <b>true</b>。
<br><br>
<b>Comments:</b><br>
如果此双端队列不包含该元素，则不作更改。
		更确切地讲，移除第一个满足等于 <span class="funcparam">item</span> 的元素（如果存在这样的元素）。
		该方法使用默认相等比较器 DefaultEqualityComparer(T) 来进行相等性比较。
		如果此双端队列包含指定的元素（或者此双端队列由于调用而发生了更改），则返回 <b>true</b>。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">removeLastOccurrence</span>
<script>explorer.outline.addDecl('removeLastOccurrence');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>移除此双端队列中最后一次出现的指定元素（当从头部到尾部遍历双端队列时）。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>移除此双端队列中最后一次出现的指定元素（当从头部到尾部遍历双端队列时）。</td></tr>
</table><br>
<b>Returns:</b><br>
如果双端队列包含指定元素，则返回 <b>true</b>。
<br><br>
<b>Comments:</b><br>
如果此双端队列不包含该元素，则不作更改。
		更确切地讲，移除最后一个满足等于 <span class="funcparam">item</span> 的元素（如果存在这样的元素）。
		该方法使用默认相等比较器 DefaultEqualityComparer(T) 来进行相等性比较。
		如果此双端队列包含指定的元素（或者此双端队列由于调用而发生了更改），则返回 <b>true</b>。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void 
<span class="currsymbol">push</span>
<script>explorer.outline.addDecl('push');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>将元素推入此双端队列所表示的堆栈。换句话说，将元素插入此双端队列的开头。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要推入的元素。</td></tr>
</table><br>
<b>Comments:</b><br>
此方法等效于 addFirst(T <span class="funcparam">item</span>)。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">pop</span>
<script>explorer.outline.addDecl('pop');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>从此双端队列所表示的堆栈中弹出一个元素。换句话说，移除并返回此双端队列第一个元素。
<br><br>
<b>Returns:</b><br>
此双端队列开头的元素（它是此双端队列所表示的堆栈的顶部）。
<br><br>
<b>Throws:</b><br>
InvalidOperationException，如果此双端队列为空。
<br><br>
<b>Comments:</b><br>
此方法等效于 removeFirst() 。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">enqueue</span>
<script>explorer.outline.addDecl('enqueue');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 add(T <span class="funcparam">item</span>)。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">dequeue</span>
<script>explorer.outline.addDecl('dequeue');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 removeFirst()。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">T 
<span class="currsymbol">peek</span>
<script>explorer.outline.addDecl('peek');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 peekFirst()。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryEnqueue</span>
<script>explorer.outline.addDecl('tryEnqueue');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 tryAddLast(T <span class="funcparam">item</span>)。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryDequeue</span>
<script>explorer.outline.addDecl('tryDequeue');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 tryRemoveFirst()。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryPeek</span>
<script>explorer.outline.addDecl('tryPeek');</script>

(out T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 tryPeekFirst()。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">isEmpty</span>
<script>explorer.outline.addDecl('isEmpty');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>如果此双端队列未包含任何元素，则返回 <b>true</b>。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">int 
<span class="currsymbol">count</span>
<script>explorer.outline.addDecl('count');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回此双端队列中的元素数。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">isReadOnly</span>
<script>explorer.outline.addDecl('isReadOnly');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>查看该集合是否只读。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">add</span>
<script>explorer.outline.addDecl('add');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>将指定元素插入此双端队列的末尾。
<br><br>
<b>Params:</b><br>
<table><tr>
<td nowrap valign="top" style="padding-right: 8px">T <span class="funcparam">item</span></td>

               
<td>要添加的元素。</td></tr>
</table><br>
<b>Returns:</b><br>
<b>true</b>。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">tryAdd</span>
<script>explorer.outline.addDecl('tryAdd');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 tryAddLast(T <span class="funcparam">item</span>)。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void 
<span class="currsymbol">clear</span>
<script>explorer.outline.addDecl('clear');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>从此双端队列中移除所有元素。在此调用返回之后，该双端队列将为空。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">remove</span>
<script>explorer.outline.addDecl('remove');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>等效于 removeFirstOccurrence(T <span class="funcparam">item</span>)。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">bool 
<span class="currsymbol">contains</span>
<script>explorer.outline.addDecl('contains');</script>

(T <span class="funcparam">item</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>如果此双端队列包含指定元素，则返回 <b>true</b>。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">void 
<span class="currsymbol">toArray</span>
<script>explorer.outline.addDecl('toArray');</script>

(T[] <span class="funcparam">array</span>);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回一个以恰当顺序包含此双端队列所有元素的数组(如果指定的数组容量不小于双端队列所包含的元素数)。
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">Enumerator 
<span class="currsymbol">getEnumerator</span>
<script>explorer.outline.addDecl('getEnumerator');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回在此双端队列的元素上进行迭代的迭代器。
 元素将按从第一个（头）到最后一个（尾）的顺序进行排序。
 这与元素出列（通过连续调用 remove()）或弹出（通过连续调用 pop()）的顺序相同。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">DescendingEnumerator 
<span class="currsymbol">getDescendingEnumerator</span>
<script>explorer.outline.addDecl('getDescendingEnumerator');</script>

();
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd>返回以逆向顺序在此双端队列的元素上进行迭代的迭代器。
 元素将按从最后一个（尾部）到第一个（头部）的顺序返回。
	 
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class 
<span class="currsymbol">Enumerator</span>
<script>explorer.outline.addDecl('Enumerator');</script>

: IEnumerator!(T);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd><b>Throws:</b><br>
InvalidOperationException，当在遍历对象时修改了集合或集合为空时。
     
<br><br>

</dd>

<script>explorer.outline.writeEnabled = true;</script>
<dt><span class="decl">class 
<span class="currsymbol">DescendingEnumerator</span>
<script>explorer.outline.addDecl('DescendingEnumerator');</script>

: IEnumerator!(T);
</span></dt>
<script>explorer.outline.writeEnabled = false;</script>


<dd><b>Throws:</b><br>
InvalidOperationException，当在遍历对象时修改了集合或集合为空时。
     
<br><br>

</dd>
</dl>
<script>explorer.outline.decSymbolLevel();</script>


</dd>
</dl>
<script>explorer.outline.decSymbolLevel();</script>


</td></tr>
		<tr><td id="docfooter">
			Page was generated with
			<img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px">
			on Sat Nov 29 22:33:12 2008

		</td></tr>
	</table>
</div>
<script>
	explorer.packageExplorer.addModule("platform.PAL");
	explorer.packageExplorer.addModule("platform.windows.Core");
	explorer.packageExplorer.addModule("platform.linux.Core");
	explorer.packageExplorer.addModule("system.Array");
	explorer.packageExplorer.addModule("system.BitArray");
	explorer.packageExplorer.addModule("system.Environment");
	explorer.packageExplorer.addModule("system.Event");
	explorer.packageExplorer.addModule("system.Exception");
	explorer.packageExplorer.addModule("system.Hash");
	explorer.packageExplorer.addModule("system.IntPtr");
	explorer.packageExplorer.addModule("system.Random");
	explorer.packageExplorer.addModule("system.Traits");
	explorer.packageExplorer.addModule("system.TypeTuple");
	explorer.packageExplorer.addModule("system.math.IEEE");
	explorer.packageExplorer.addModule("system.math.Math");
	explorer.packageExplorer.addModule("system.runtime.c.complex");
	explorer.packageExplorer.addModule("system.runtime.c.config");
	explorer.packageExplorer.addModule("system.runtime.c.ctype");
	explorer.packageExplorer.addModule("system.runtime.c.errno");
	explorer.packageExplorer.addModule("system.runtime.c.fenv");
	explorer.packageExplorer.addModule("system.runtime.c.inttypes");
	explorer.packageExplorer.addModule("system.runtime.c.limits");
	explorer.packageExplorer.addModule("system.runtime.c.locale");
	explorer.packageExplorer.addModule("system.runtime.c.math");
	explorer.packageExplorer.addModule("system.runtime.c.signal");
	explorer.packageExplorer.addModule("system.runtime.c.stdarg");
	explorer.packageExplorer.addModule("system.runtime.c.stddef");
	explorer.packageExplorer.addModule("system.runtime.c.stdint");
	explorer.packageExplorer.addModule("system.runtime.c.stdio");
	explorer.packageExplorer.addModule("system.runtime.c.stdlib");
	explorer.packageExplorer.addModule("system.runtime.c.string");
	explorer.packageExplorer.addModule("system.runtime.c.time");
	explorer.packageExplorer.addModule("system.runtime.c.wctype");
	explorer.packageExplorer.addModule("system.text.UTF");
	explorer.packageExplorer.addModule("system.threading.Atomic");
	explorer.packageExplorer.addModule("system.threading.ThreadUtility");
	explorer.packageExplorer.addModule("system.threading.synchronization.SpinWait");
	explorer.packageExplorer.addModule("system.collections.ArrayList");
	explorer.packageExplorer.addModule("system.collections.Comparer");
	explorer.packageExplorer.addModule("system.collections.Deque");
	explorer.packageExplorer.addModule("system.collections.EqualityComparer");
	explorer.packageExplorer.addModule("system.collections.Exception");
	explorer.packageExplorer.addModule("system.collections.HashMap");
	explorer.packageExplorer.addModule("system.collections.HashSet");
	explorer.packageExplorer.addModule("system.collections.ICollection");
	explorer.packageExplorer.addModule("system.collections.IComparer");
	explorer.packageExplorer.addModule("system.collections.IDeque");
	explorer.packageExplorer.addModule("system.collections.IEnumerable");
	explorer.packageExplorer.addModule("system.collections.IEnumerator");
	explorer.packageExplorer.addModule("system.collections.IEqualityComparer");
	explorer.packageExplorer.addModule("system.collections.IList");
	explorer.packageExplorer.addModule("system.collections.IMap");
	explorer.packageExplorer.addModule("system.collections.IQueue");
	explorer.packageExplorer.addModule("system.collections.LinkedList");
	explorer.packageExplorer.addModule("system.collections.Pair");
	explorer.packageExplorer.addModule("system.collections.PrimeHelper");
	explorer.packageExplorer.addModule("system.collections.PriorityQueue");
	explorer.packageExplorer.addModule("system.collections.Queue");
	explorer.packageExplorer.addModule("system.collections.RBTree");
	explorer.packageExplorer.addModule("system.collections.Stack");
	explorer.packageExplorer.addModule("system.collections.TreeMap");
	explorer.packageExplorer.addModule("system.collections.TreeSet");
	explorer.packageExplorer.addModule("system.collections.objectmodel.ListCollection");
	explorer.packageExplorer.addModule("system.collections.objectmodel.ReadOnlyListCollection");</script>
</body></html>


